1. Field of the Description
The present description relates, in general, to robotic devices and associated design processes and, more particularly, a system and method for providing computational design of robotic devices, such as legged robots, using a high-level task specified as input.
2. Relevant Background
Over the past five decades, robots have fundamentally transformed industrial manufacturing. More recently, hardware platforms are becoming increasingly versatile and affordable, and robots promise to have an equally profound impact on our daily lives. Indeed, the way we work, learn, and play may forever be changed in the coming years by robotic assistants that help with chores, by robotic therapeutic companions that deliver personalized social and cognitive support, and by robotic playmates that promote educational activities.
Partly due to the need to easily configure customized robotic devices to provide these robots or robotic systems (or devices) and partly due to the economy of mass production, it is common practice to employ a standard set of modular components (e.g., servo motors, mounting brackets, and other structural elements) when creating robotic systems or robots. The task of designing a new robot can amount to choosing which of these modular components to use, determining how to combine them to form a functional system that is sufficiently versatile, and deciding how to control the resulting assembly in order to achieve a new robot that can perform a desirable set of motions or behaviors.
Due to the intimate coupling between these sub-tasks, the design process is notoriously challenging. As a result, most robotic systems available today are the product of meticulous, time-consuming, and largely manual efforts led by experienced engineers or robot designers. As the diversity of robotic devices that enter our lives grows, today's design methodologies are likely to become too limiting or prohibitively expensive if that result has not already been reached.
One example of this design challenge is how best to provide a legged robot to perform a particular task. The diversity of morphologies seen in the animal kingdom has been a source of inspiration for roboticists since the field's very beginnings. Indeed, a wide variety of existing robotic systems aim to closely mimic real-life creatures such as salamanders, cheetahs, kangaroos, chimpanzees, and many other creatures. The process of creating bio-inspired robots is typically guided by observations and measurements coming from real creatures.
However, as with other robots, the process of designing legged robots can be very challenging, and this is due in part to the complex way in which morphological features shape motor capabilities. Current design processes rely on meticulous, time-consuming, and manual design efforts that, as with general robot systems, are led by experienced engineers. Once a design is finished and the robot built, control engineers implement locomotion strategies and attempt to push the hardware to its limits. If the robot's performance is unsatisfactory, the design process needs to be repeated. However, it is unclear how best to change the robot's design from these poor test results to improve performance.
Prior attempts to address these design challenges have emphasized: (a) physical character design; (b) manual robot design; (c) evolutionary robot design; and/or (d) task-based robot design. With regard to physical character design, recent advances in 3D printing technologies have led to a large body of research on design and fabrication of physical characters that satisfy user-provided functionalities. For instance, researchers have proposed automated methods to convert articulated virtual characters into fabricated models with functional joints while others have proposed techniques to make the objects standing or spinning by optimizing mass and inertia distributions. Some have proposed an interactive system to generate stable motions of arbitrary robots such that this work optimizes the motion for the given morphology but fails to address the design challenge of optimizing the morphology for a given motion (which may be described by centroidal and contact dynamics).
With regard to the manual robot design approach, design of robots is a difficult problem that requires prior knowledge on various aspects of robot design including mechanics, electronics, motion planning, and control. In attempting to address the challenging problem, robot designers often have used similar creatures in nature as sources of inspirations. Besides real animals, an animation character has also been used as a source of robot design inspiration, and researchers have designed a morphology and a gait of a bipedal robot that looks and walks like an animation character. Although these design efforts have attempted to optimize the motion trajectories, the design of the robot morphology still remains the territory of experts and experienced engineers.
Evolution-based design approaches, such as the simulated annealing or genetic algorithm, have also been a popular choice to explore discrete robot design spaces so as to try to overcome the difficulty of combinatorial design decisions involved in robot design optimization. Researchers have presented emergence of virtual creatures with various morphologies by mutating and mating genotypes of brains and shapes while others have evolved structures of 2D artificial creatures named “sticky foot,” that can pull themselves by varying the amount of friction at end effectors. Particular to robotics, evolution-based design approaches have been applied to various types of robots including manipulators, linkage-based robots, and soft robots under the concept of evolving bodies and brains. Although evolutionary computing has proven to be a simple and effective tool to explore various morphologies of robots, it can easily fall into local minima and there is no guarantee that an optimal design will ever be reached or achieved with this design approach.
The task-based design approach for robots is a paradigm to optimize the design of robots to achieve the best performances for the given tasks. This paradigm has received considerable attention in the field of manipulator design (e.g., general manipulators, parallel manipulators, and the like) to optimize morphologies to try to reach the desired workspaces and avoid joint singularities. The task-based design approach has also been used by researchers to design non-manipulator robots such as pipe-cleaning robots, stair-climbing mobile robots, and legged robots. To date, though, most works related to task-based robot design have focused on optimization of continuous parameters such as limb lengths and have failed to optimize structures of robots including the number of joints and the types of joints.